package cn.oms.oms.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author AllenChen曾晨
 * @since 2022-04-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("emr")
@ApiModel(value="Emr对象", description="")
public class Emr implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "病历号ID")
    @TableId(value = "emrId", type = IdType.AUTO)
    private Integer emrId;

    @ApiModelProperty(value = "入院号")
    @TableField("admissionId")
    private Integer admissionId;

    @ApiModelProperty(value = "患者入院日期")
    @TableField("patientAdmissionId")
    private Date patientAdmissionId;

    @ApiModelProperty(value = "患者ID")
    @TableField("patientId")
    private Integer patientId;

    @ApiModelProperty(value = "患者姓名")
    @TableField("patientName")
    private String patientName;

    @ApiModelProperty(value = "血型")
    @TableField("blood")
    private String blood;

    @ApiModelProperty(value = "出生年月日")
    @TableField("patientDob")
    private Date patientDob;

    @ApiModelProperty(value = "年龄")
    @TableField("patientAge")
    private Integer patientAge;

    @ApiModelProperty(value = "年龄（月）")
    @TableField("patientAgeMon")
    private Integer patientAgeMon;

    @ApiModelProperty(value = "性别")
    @TableField("patientSex")
    private Integer patientSex;

    @ApiModelProperty(value = "婚姻状况")
    @TableField("maritalStatus")
    private Integer maritalStatus;

    @ApiModelProperty(value = "国籍")
    @TableField("nationality")
    private String nationality;

    @ApiModelProperty(value = "籍贯")
    @TableField("nativePlace")
    private String nativePlace;

    @ApiModelProperty(value = "身份证号码")
    @TableField("documentId")
    private String documentId;

    @ApiModelProperty(value = "家庭地址")
    @TableField("homeAddress")
    private String homeAddress;

    @ApiModelProperty(value = "现居地")
    @TableField("nowAddress")
    private String nowAddress;

    @ApiModelProperty(value = "电话号码")
    @TableField("patientPhone")
    private String patientPhone;

    @ApiModelProperty(value = "邮箱")
    @TableField("patientEmail")
    private String patientEmail;

    @ApiModelProperty(value = "身高")
    @TableField("patientHeight")
    private Integer patientHeight;

    @ApiModelProperty(value = "体重")
    @TableField("patientWeight")
    private Integer patientWeight;

    @ApiModelProperty(value = "过敏药物名称")
    @TableField("allergyDrugName")
    private String allergyDrugName;

    @ApiModelProperty(value = "症状")
    @TableField("symptomName")
    private String symptomName;

    @ApiModelProperty(value = "诊断详情")
    @TableField("diagnosisDetail")
    private String diagnosisDetail;

    @ApiModelProperty(value = "创建时间")
    @TableField("createTime")
    private Date createTime;

    @ApiModelProperty(value = "删除标记")
    @TableField("deleteFlag")
    private Integer deleteFlag;

    /**
     * 当前问题包含的标签集合
     */
    //这个属性没有对应的列,需要使用下面的注解表示,否则数据库操作会报错
    @TableField(exist = false)
    private String returnAdmissionTime;

    /**
     * 当前问题包含的标签集合
     */
    //这个属性没有对应的列,需要使用下面的注解表示,否则数据库操作会报错
    @TableField(exist = false)
    private String returnPatientDob;


    /**
     * 当前问题包含的标签集合
     */
    //这个属性没有对应的列,需要使用下面的注解表示,否则数据库操作会报错
    @TableField(exist = false)
    private String returnSexName;

    /**
     * 当前问题包含的标签集合
     */
    //这个属性没有对应的列,需要使用下面的注解表示,否则数据库操作会报错
    @TableField(exist = false)
    private String returnMari;

    /**
     * 当前问题包含的标签集合
     */
    //这个属性没有对应的列,需要使用下面的注解表示,否则数据库操作会报错
    @TableField(exist = false)
    private String returnCreateTime;


}
